การใช้คำสั่ง Case ... End ในการตรวจสอบหลาย ๆ เงื่อนไขพร้อม ๆ กัน
Download a sample Yummi2012 database file from http://goo.gl/p5JlUQ
Download SQL script from http://goo.gl/aoDTPV
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอน Microsoft SQL Server 2012, 2014, 2016, 2017 ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH8gYuxpp-jqu5Blc7KbQVn
สอน PostgreSQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGi_NqmIu43B-PsxA0wtnyH
สอน MySQL ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFmJDsZipFCrY6L-0RrBYLT
สอน SQLite ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHjYJA4pfG38M5BcrWKf5s2
การใช้ Excel ในการทำงานร่วมกับกับฐานข้อมูล (SQL Server, MySQL, Access) ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGA2sSqNRSXlw0OYuCfDwYk
การเชื่อมต่อกับฐานข้อมูล (SQL Server, MySQL, SQLite) ด้วย Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEdZtHwU3t9k3dBAlxYoq59
#prasertcbs_SQL #prasertcbs #prasertcbs_mssql
「sql select case when」的推薦目錄:
- 關於sql select case when 在 prasertcbs Youtube 的最佳貼文
- 關於sql select case when 在 Re: [SQL ] 有關case when的兩個問題- 看板Database - 批踢踢 ... 的評價
- 關於sql select case when 在 Case in Select Statement - Stack Overflow 的評價
- 關於sql select case when 在 SQL Tutorial - CASE Statements - YouTube 的評價
- 關於sql select case when 在 Nested case statements vs multiple criteria case statements 的評價
- 關於sql select case when 在 Case with Wildcards – SQLServerCentral Forums 的評價
sql select case when 在 Re: [SQL ] 有關case when的兩個問題- 看板Database - 批踢踢 ... 的推薦與評價
※ 引述《bbsn (bbsn)》之銘言:
: ※ 引述《greetmuta (愚零鬥武多)》之銘言:
: : --問題一
: : select (case when (case when 2>1 then 'A' else 'B' end) ='A' then 'C' else
: : 'D' end) as my_column
: : --問題二
: : select * from test3 where price < (case when 2>1 then 50 else 20 end)
: : 希望有幫上你的忙~
: 有關於問題一,我大致上修改成如下,不過會出來錯誤
: 錯誤:無法繫結多重部分 (Multi-Part) 識別碼 "B.redate"
: select (case when B.redate is null then (case when B.des is null then
: A.opdate else B.opdate end) else B.redate end) as opdate
: from 資料表A as A join 資料表B as B on A.no=B.no
: 有關於問題二,我寫我想表達的,不過會出來錯誤,我知道是在where 的那個opdate,不
: 過沒有辦法從as新的opdate出來的資料來選嗎?
: 錯誤:模稜兩可的資料行名稱 'opdate'
: select (case when B.redate is null then (case when B.des is null then
: A.opdate else B.opdate end) else B.redate end) as opdate
: from 資料表A as A join 資料表B as B on A.no=B.no where opdate='2013/05/05'
: 再麻煩解答,謝謝~~
直接把case條件式寫在where後試試
select *
from 資料表A as A join 資料表B as B on A.no = B.no
where (case
when B.redate is null then
(case
when B.des is null then
A.opdate
else
B.opdate
end)
else
B.redate
end) = '2013/05/05';
如果不行那就要再包一層再過濾條件了
select T.opdate
from (select (case
when B.redate is null then
(case
when B.des is null then
A.opdate
else
B.opdate
end)
else
B.redate
end) as opdate
from 資料表A as A join 資料表B as B on A.no = B.no) as T
where t.opdate = '2013/05/05';
from 資料表A as A join 資料表B as B on A.no = B.no
where
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.164.90.36
... <看更多>